<?php
declare(strict_types=1);

namespace Kiri\Router\Base;


use Kiri;
use Kiri\Router\Request;
use Psr\Container\ContainerInterface;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Log\LoggerInterface;
use Kiri\Di\Inject\Container;
use Kiri\Error\StdoutLogger;

/**
 * Class WebController
 * @package Kiri\Web
 */
class Controller extends Kiri\Abstracts\Component
{


    /**
     * @var RequestInterface
     */
    #[Container(RequestInterface::class)]
    public RequestInterface $request;


    /**
     * @var ResponseInterface
     */
    #[Container(ResponseInterface::class)]
    public ResponseInterface $response;


    /**
     * @var LoggerInterface|StdoutLogger
     */
    #[Container(LoggerInterface::class)]
    public LoggerInterface|StdoutLogger $logger;


    /**
     * @var ContainerInterface
     */
    #[Container(ContainerInterface::class)]
    public ContainerInterface $container;


}
